//
//  JJSPPZViewController.m
//  Estate
//
//  Created by houzhen on 2017/11/10.
//  Copyright © 2017年 ttsx. All rights reserved.
//

#import "JJSPPZViewController.h"
#import "Tweet.h"
#import "JJRecordCell.h"

@interface JJSPPZViewController ()<UITableViewDelegate,UITableViewDataSource,UIImagePickerControllerDelegate,UINavigationControllerDelegate>{
    //title数组
    NSArray *titArr;
}
@property (nonatomic,strong) TPKeyboardAvoidingTableView *tableView; /**表格*/
@property(strong,nonatomic)UIImagePickerController *picker;
@property (strong, nonatomic) Tweet *curTweet;  /** 附件模型*/

@end

@implementation JJSPPZViewController

- (UIImagePickerController *)picker{
    if(!_picker){
        _picker = [[UIImagePickerController alloc] init];
        _picker.delegate = self;
        _picker.allowsEditing = NO;//设置可编辑
        _picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    }
    return _picker;
}
-(UITableView *)tableView{
    if(_tableView==nil){
        _tableView = [[TPKeyboardAvoidingTableView alloc] initWithFrame:CGRectMake(0, 0, DEF_SCREEN_WIDTH, DEF_SCREEN_HEIGHT) style:UITableViewStylePlain];
        _tableView.separatorStyle=UITableViewCellSeparatorStyleNone;
        _tableView.showsVerticalScrollIndicator=NO;
        _tableView.delegate=self;
        _tableView.dataSource=self;
        [LSUtility setExtraCellLineHidde:self.tableView tabHeader:NO tabFooter:NO];
        _tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;
        [_tableView registerNib:[UINib nibWithNibName:@"B_SwitchCell" bundle:nil] forCellReuseIdentifier:@"switch"];
        [_tableView registerNib:[UINib nibWithNibName:@"B_wuLiaoCell" bundle:nil] forCellReuseIdentifier:@"wuliao"];
        
        //新增记录数据cell
        [_tableView registerNib:[UINib nibWithNibName:NSStringFromClass([JJRecordCell class]) bundle:nil] forCellReuseIdentifier:@"JJRecordCell"];
        
        [_tableView registerClass:[H1_ImagesCell class] forCellReuseIdentifier:kCellIdentifier_H1_ImagesCell];
    }
    return _tableView;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:self.tableView];
    _curTweet = [[Tweet alloc] init];
    titArr=@[@"施工过程简述(按规范、图纸和施工组织设计作业情况):",@"工程质量、安全及环境问题或隐患(如有，必须附照片或摄影资料)",@"处理措施"];
    [self setData];

    NSNotificationCenter * center = [NSNotificationCenter defaultCenter];
    [center addObserver:self selector:@selector(refresh:) name:@"RefreshImage_1" object:nil];
}
- (void)setData{
    WEAKSELF
    if(self.fahuanSP){
        self.selectedAssetURLs = [LSUtility quertFileImageType:@"RECORD_02_SIDE_04" andId:self.sideId andFilePathArr:self.fileArray];
        [self refresh:nil];
        
    }else{
        weakSelf.fahuanSP = [[JJSPFaHuanModel alloc]init];
        weakSelf.fahuanSP.isTechnicalMeasures = YES;
        weakSelf.fahuanSP.sketch = @"已按照图纸和施工组织设计施工，措施得当，施工过程符合规范要求";
        weakSelf.fahuanSP.quality = @"无质量问题和隐患";
        weakSelf.fahuanSP.measure = @"无";

    }
    [self.tableView reloadData];
}

#pragma mark UITableViewDataSource
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 4;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    if(section == 1){
        return 12;
    }else if(section == 2){
        return titArr.count;
    } else{
        return 1;
        
    }
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    if (section == 1){
        //增加区头 监理抽检数据记录
        UIView *hView = [[UIView alloc]initWithFrame:CGRectMake(0,0,DEF_SCREEN_WIDTH, CELL_HEIGHT-10)];
        hView.backgroundColor=[UIColor colorWithRed:0.94 green:0.94 blue:0.94 alpha:1.00];
        UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(15, 0, DEF_SCREEN_WIDTH, CELL_HEIGHT-10)];
        label.backgroundColor = [UIColor colorWithRed:0.94 green:0.94 blue:0.94 alpha:1.00];
        label.text = @"监理抽检数据记录：";
        label.font = [UIFont systemFontOfSize:16*BIZ];
        label.textColor = UIColorFromRGB(0x797979);
        [hView addSubview:label];
        return hView;
    }else{
        UIView *hView = [[UIView alloc]initWithFrame:CGRectMake(0,0, DEF_SCREEN_WIDTH, CELL_HEIGHT-10)];
        hView.backgroundColor=[UIColor colorWithRed:0.94 green:0.94 blue:0.94 alpha:1.00];
        return hView;
    }
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    if (section==0||section ==2) {
        return 10;
    }else if(section == 1){
        return 40;
    }else{
        return 0;
    }
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    if(indexPath.section==0){
        return 60;
    }else if(indexPath.section==1){
        return 50;
    }else if(indexPath.section==2){
        return  130*BIZ;
    }else{
        return  [H1_ImagesCell cellHeightWithObj:_curTweet title:@"附件"];
    }
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    WEAKSELF
    //安全技术措施
    if (indexPath.section==0) {
        B_SwitchCell *cell=[tableView dequeueReusableCellWithIdentifier:@"switch" forIndexPath:indexPath ];
        cell.title.text = @"安全技术措施（或安全专项方案）落实\n情况（是否落实）";
        cell.sValueChangeBlock=^(UISwitch *sender){
            weakSelf.fahuanSP.isTechnicalMeasures = sender.on;
        };
        cell.isEdit=self.isEdit;
        //设置开关
        [cell.kaiguan setOn:self.fahuanSP.isTechnicalMeasures];
        return cell;
        //抽检数据记录
    }else if(indexPath.section == 1){
         if(indexPath.row == 0){
             JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
             cell.titleLabel.text = @"设计孔底高程";
             cell.unitLabel.text = @"mm";
             cell.content.text = weakSelf.fahuanSP.designElevation;
             cell.contentType = DefaultMode;
             cell.contentChangeBlock =^(NSString *valueStr){
                 weakSelf.fahuanSP.designElevation = valueStr;
             };
             cell.isEdit = self.isEdit;
             return cell;
        }else if (indexPath.row == 1){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"终孔孔底高程";
            cell.unitLabel.text = @"mm";
            cell.content.text = weakSelf.fahuanSP.endHoleElevation;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.endHoleElevation = valueStr;
            };
            cell.isEdit = self.isEdit;
            
            return cell;
        }else if (indexPath.row == 2){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"灌前孔底高程";
            cell.unitLabel.text = @"mm";
            cell.content.text = weakSelf.fahuanSP.beforePlacingElevation;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.beforePlacingElevation = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }else if (indexPath.row == 3){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"沉淀层厚度";
            cell.unitLabel.text = @"mm";
            cell.content.text = weakSelf.fahuanSP.thickness;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.thickness = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }else if (indexPath.row == 4){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"灌注前泥浆比";
            cell.unitLabel.text = @"g/cm3";
            cell.content.text = weakSelf.fahuanSP.proportion;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.proportion = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }else if (indexPath.row == 5){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"坍落度实测值";
            cell.unitLabel.text = @"mm";
            cell.content.text = weakSelf.fahuanSP.collapseDegree;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.collapseDegree = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }else if (indexPath.row == 6){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"导管+料斗总长";
            cell.unitLabel.text = @"mm";
            cell.content.text = weakSelf.fahuanSP.totalLenght;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.totalLenght = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }else if (indexPath.row == 7){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"料斗口距平台距离";
            cell.unitLabel.text = @"mm";
            cell.content.text = weakSelf.fahuanSP.platformMargin;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.platformMargin = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }else if (indexPath.row == 8){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"首盘混凝土方量";
            cell.unitLabel.text = @"m3";
            cell.content.text = weakSelf.fahuanSP.shouPan;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.shouPan = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
            
        }else if (indexPath.row == 9){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"含砂率(%)";
            cell.unitLabel.text = @"%";
            cell.content.text = weakSelf.fahuanSP.sandRatio;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.sandRatio = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }else if (indexPath.row == 10){
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"黏度(pa.s)";
            cell.unitLabel.text = @"pa.s";
            cell.content.text = weakSelf.fahuanSP.viscosity;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.viscosity = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }else {
            JJRecordCell *cell= [tableView dequeueReusableCellWithIdentifier:@"JJRecordCell"];
            cell.titleLabel.text = @"平台基础高程(mm)";
            cell.unitLabel.text = @"mm";
            cell.content.text = weakSelf.fahuanSP.baseHeight;
            cell.contentType = DefaultMode;
            cell.contentChangeBlock =^(NSString *valueStr){
                weakSelf.fahuanSP.baseHeight = valueStr;
            };
            cell.isEdit = self.isEdit;
            return cell;
        }
        
    }else if(indexPath.section == 2){
        B_wuLiaoCell *cell=[tableView dequeueReusableCellWithIdentifier:@"wuliao" forIndexPath:indexPath];
        cell.title.text = titArr[indexPath.row];
        //施工过程简述
        if (indexPath.row ==0){
            cell.text.text = self.fahuanSP.sketch;
            //工程质量、安全
        }else if (indexPath.row == 1){
            cell.text.text = self.fahuanSP.quality;
            //处理措施
        }else if (indexPath.row == 2){
            cell.text.text = self.fahuanSP.measure;
        }
        cell.textValueChangedBlock=^(NSString *valueStr){
            //施工过程简述
            if (indexPath.row ==0){
                weakSelf.fahuanSP.sketch = valueStr;
                //工程质量、安全
            }else if (indexPath.row == 1){
                weakSelf.fahuanSP.quality = valueStr;
                //处理措施
            }else if (indexPath.row == 2){
                weakSelf.fahuanSP.measure = valueStr;
            }
        };
        cell.isEdit=weakSelf.isEdit;
        return  cell;
    }else{
        H1_ImagesCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_H1_ImagesCell forIndexPath:indexPath];
        cell.isEdit=self.isEdit;
        [cell setTitle:@"附件"];
        cell.curTweet = _curTweet;
        cell.addPicturesBlock = ^(){
            [weakSelf showActionForPhoto];
        };
        __block H1_ImagesCell *cellblock = cell;
        cell.deleteTweetImageBlockUrl = ^(TweetImage *toDelete,NSString *deurl){
            [cellblock.curTweet.tweetImages removeObject:toDelete];
            [weakSelf.selectedAssetURLs removeObject:deurl];
            [weakSelf refresh:nil];
        };
        return cell;
    
    }
}

- (void)refresh:(id)sender{
    if(self.selectedAssetURLs!=nil){
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            self.curTweet.selectedAssetURLs =self.selectedAssetURLs;
            dispatch_async(dispatch_get_main_queue(), ^{
                [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:3]] withRowAnimation:UITableViewRowAnimationFade];
            });
        });
    }
}

#pragma mark UIActionSheet M
- (void)showActionForPhoto{
    //    @weakify(self);
    [[UIActionSheet bk_actionSheetCustomWithTitle:nil buttonTitles:@[@"拍照", @"从相册选择"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) {
        
        [self photoActionSheet:sheet DismissWithButtonIndex:index];
        
    }] showInView:self.view];
}

- (void)photoActionSheet:(UIActionSheet *)sheet DismissWithButtonIndex:(NSInteger)buttonIndex{
    if (buttonIndex == 0) {
        //拍照
        if (_curTweet.tweetImages.count >= 9) {//照片最多这么多
            kTipAlert(@"最多只可选择9张照片，已经选满了。先去掉一张照片再拍照呗～");
            return;
        }
        [self presentViewController:self.picker animated:YES completion:nil];//进入照相界面
    }else if (buttonIndex == 1){
        PictureViewController *picCtr=[[PictureViewController alloc]init];
        picCtr.flag=@"file";
        NSMutableArray *array = [self.selectedAssetURLs valueForKeyPath:@"@distinctUnionOfObjects.self"];
        picCtr.selectedImages=[[NSMutableArray alloc] initWithArray:array];
        picCtr.selectedImageBlock=^(NSMutableArray *array){
            for (NSString *path in array) {
                //添加图片路径到已选数组
                [self.selectedAssetURLs addObject:path];
            }
        };
        [self.navigationController pushViewController:picCtr animated:YES];
    }
}

#pragma mark UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage];
    self.curTweet.editImageView = [[EditImageView alloc]initWithImage:image];
    WEAKSELF
    self.curTweet.editImageView.completeBlock = ^(NSString *path) {
        //添加选择附件
        [weakSelf.curTweet addASelectedAssetURL:path];
        [weakSelf.selectedAssetURLs addObject:path];
        //刷新指定行
        [weakSelf.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:3]] withRowAnimation:UITableViewRowAnimationFade];
    };
    [picker dismissViewControllerAnimated:YES completion:nil];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    [picker dismissViewControllerAnimated:YES completion:nil];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
-(void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}


@end
